Query Technologies and Applications for Program Comprehension
نویسندگان
چکیده
Industrial software systems are large and complex, both in terms of the software entities and their relationships. Consequently, understanding how a software system works requires the ability to pose queries over the design-level entities of the system. Traditionally, this task has been supported by simple tools (e.g., grep) combined with the programmer’s intuition and experience. Recently, however, specialized code query technologies have matured to the point where they can be used in industrial situations, providing more intelligent, timely, and efficient responses to developer queries. This working session aims to explore the state of the art in code query technologies, and discover new ways in which these technologies may be useful in program comprehension. The session brings together researchers and practitioners. We survey existing techniques and applications, trying to understand the strengths and weaknesses of the various approaches, and sketch out new frontiers that hold promise.
منابع مشابه
Employing Query Technologies for Crosscutting Concern Comprehension
Common techniques for improving comprehensibility of software systems include concerns modularization and code structuring by applying well-established design patterns. However, non-trivial software systems will unavoidably exhibit concerns whose implementation cannot be mapped onto a single programming module, but will cut across the system’s structure. These crosscutting concerns lead to impl...
متن کاملRepresenting and Accessing Extracted Information
Source code repositories best support program comprehension tasks when they can successfully answer the many questions a maintainer conceives. To provide the flexibility needed to answer these questions, the Jupiter repository system has been developed. Jupiter, using Maia, a Model based on Annotations, Indices and Attributes, can store any of the syntactic, type and flow information extractabl...
متن کاملAnalyzing XFIG with GUPRO
GUPRO (Generic Unit for Program Understanding, http://www.gupro.de) provides an adaptable and extesible workbench for program understanding and software reengineering. GUPRO is strongly based on graph technology, i. e. source code is parsed into graph structures which are accessible by graph algorithms and a general graph query language GReQL. In GUPRO, these base technologies are combined into...
متن کاملComprehending queries
There are no compelling reasons why database-internal query representations have to be designated by operators. This text describes a world in which datatypes determine the comprehension of queries. In this world, a datatype is characterized by its algebra of value constructors. These algebras are principal. Query operators are secondary in the sense that they simply box (recursive) programs th...
متن کاملApproximate Query Processing in Decision Support System Environment
Both the approximate query process and decisional portals are emerging technologies in the decision support system environment. The former tool provides fast execution time for the analysis applications which require access to large amounts of data in the warehouse, by furnishing estimates of summary data with an approximation error acceptable for decision-maker users. The web-based second tool...
متن کامل